A machine-readable graphical code (“graphical code”) is a graphical representation of information that consists of multiple graphical code elements having different light reflective or light emissive properties. Examples of different types of graphical codes include bar codes, data matrix codes, MaxiCodes, optical character recognition (“OCR”) text, and so forth. Graphical codes have become widely used in many commercial environments, such as point-of-sale stations in retail stores and supermarkets, inventory and document tracking, and the like.
Devices for identifying or extracting information from graphical codes are generally referred to as graphical code readers. Image-based graphical code readers typically include one or more light sources for illuminating a graphical code. Light is reflected from the graphical code toward the graphical code reader. A lens within the graphical code reader focuses an image of the graphical code onto an image sensor over a period of time commonly referred to as an exposure period. Following the exposure period, pixels within the image sensor are read electronically to provide a two-dimensional array of image data corresponding to the graphical code. The image data is then multiplied by a gain. A decoder processes the gain-adjusted image data and extracts the information contained in the graphical code.
One issue that arises in connection with image-based graphical code readers relates to the light sources that are used for illumination. Light-emitting diodes (LEDs) are commonly used for illumination in image-based graphical code readers. The LEDs typically emit red light, i.e., light that is perceived by the human eye as including the color red. However, in some situations, the red LEDs do not project illumination sufficiently far to enable operation of the graphical code reader at a desired distance from the graphical code. Also, because the illumination projected by the red LEDs is visible to the human eye, the red illumination can appear uncomfortably bright to the user of the graphical code reader.
Another issue that often arises in connection with image-based graphical code readers relates to the brightness of the images that are captured. If the images are too bright or too dark, then there may not be sufficient contrast to enable the decoder to identify a graphical code within the image. In the traditional imaging environment, brightness is adjusted by varying one or both of two variables, the gain and the exposure time. However, increasing the gain has the undesirable effect of amplifying the noise. Increasing the exposure time makes the digital images that are captured more susceptible to motion blur.
In view of the foregoing, benefits may be realized by improved illumination techniques in an image-based graphical code reader.